/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
import java.util.ArrayList;
/**
 *
 * @author sergi
 */
public class CICorregir {
    private VistaCorregir vc;
    private CITexto cit;
    private CIReglas cir;
    private CIDiccionario cid;
   
    public CICorregir(CITexto a, CIReglas b, CIDiccionario c) {
        cit = a;
        cir = b;
        cid = c;
        vc = new VistaCorregir(this);
    }

    public ArrayList<String> getinc() {
        return cit.getpalinc(cid, cid.getnomdic());
    }

    public ArrayList<StringDouble> getkposibles(String palinc, int k) throws ExcepcionVacio {
        Reglas reg = cir.getReglas();
        if (reg.getMaxBeta() == 0) vc.mensaje("las reglas no estan generadas");
        Trie tr = cid.getTrie();
        if (tr.TrieVacio() || tr.GetAltura() == 0) vc.mensaje("el diccionario no esta cargado o esta vacio");
        Algoritmo alg = cir.getalg();
        
        return cit.getkposibles(palinc, reg, tr, alg, k);
    }
    public Progreso getProgresoAlg(){
        return cir.getalg().getProgreso();
    }
    public VistaCorregir getVistaCorregir() {
        return vc;
    }

    public void subrayar(String s, int rep) {
        cit.subrayarinc(s, rep);
    }

    public void cambiartodo(String inc, String cor) {
        cit.cambiarpaltodo(inc,cor);
    }

    public void cambiarsola(String inc, String cor, int rep) {
        cit.cambiarpalsola(inc,cor,rep);
    }

    public void corregir() {
        vc.corregir();
    }

    public void finalizarcorreccion() {
        vc.finalizar();
    }

    public void actualizarlong() {
        cit.actualizarLongitud();
    }

}
